package me.spring.cloud.common.components.monitor.aop;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

import me.spring.cloud.common.components.monitor.constant.Constant;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * 监控Transaction。收集方法的耗时、执行次数等信息 适合记录跨越系统边界的程序访问行为,比如远程调用， 数据库调用，也适合执行时间较长的业务逻辑监控， Transaction用来记录一段代码的执行时间和次数。
 */
@Retention(RUNTIME)
@Target(ElementType.METHOD)
public @interface MonitorTransaction {

  /** Transaction类型名称，记录在cat中 */
  String tranType() default Constant.MONITORTRANSACTION;
}
